Skip to content

Testament hybrid runner#1724

Open
bung87 wants to merge 17 commits into
nim-lang:masterfrom
bung87:testament-hybrid-runner
Open

Testament hybrid runner#1724
bung87 wants to merge 17 commits into
nim-lang:masterfrom
bung87:testament-hybrid-runner

Conversation

@bung87

@bung87 bung87 commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

just show the progress before going further.

bung87 added 17 commits May 31, 2026 20:53
…ared-state tests

- Migrate from monolithic tester.nim to hybrid approach:
  - testament runs isolatable tests individually for faster feedback
  - tester.nim preserves execution order and shared nimbleDir state
    for tests that require network or mutate global state

- Split 13 local-only tests from tissues.nim into testament files:
  tests/tissues/tissue_{108,304,349,351,564,581,597,633,793,941,1609,1636,test_params}.nim

- Remove already-split tests from tester.nim imports and skip.txt:
  tcheckcommand, tinitcommand, tcleancommand, tnimbletasks, ttestcommand,
  tforgeparser, tnimbledump, tnimscript, tpathcommand, toffline, tlocaldeps

- Update nimble.nimble test task to run both testament suites
- tissue_1648: task deps should not install newer dependencies
- tissue_1650: root project config.nims should not leak into dep binary build
- tissue_428: local nimbleDir install with -g
- tconfignewline: config file should end with newline
- tnonimblefile: friendly error when running command without .nimble file
- trecursivetasks: tasks can be called recursively
- tnimbleversion: NimbleVersion defined in compiled package
- truncommand_local: 12 basic nimble run parameter-parsing tests

Also fixes tshellenv.nim: revert accidental testutils -> common rename
introduced when renaming testscommon -> common.
testament --directory:tests runs from tests/, so relative config.nims
was not found. Use currentSourcePath().parentDir.parentDir instead.
Removed tests that used sequtils, causing 'unused import' warning
that fails the 'compilation without warnings' test.
- Extract 19 pure in-memory SAT solver tests from tsat.nim into
  tests/sat/tsat_solver.nim (zero network, zero shared state)
- tsat.nim now only contains 3 tests that download/install packages:
  - nitter fork URL resolution
  - issue nim-lang#1162 integration (conflictingdepres)
  - libp2pconflict fallback
- Add testament --directory:tests/sat to nimble.nimble test task
- Trim unused imports in both files
- tasynctools.nim never imports common.nim and operates entirely
  in getTempDir() — zero shared state, zero nimbleDir pollution
- Add discard exitcode header for testament standalone mode
- Remove from tester.nim imports and skip.txt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant